/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Model.NotaProdutor;
import Model.Previsao;
import java.util.List;


public class ValidaLista {

    public  List retiraNomeProdutorRepetido (List lista)  {
        NotaProdutor np1 = new NotaProdutor();
        NotaProdutor np2 = new NotaProdutor();
      
        //Remove nomes repitidos
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getNomeProdutor().equals(np2.getNomeProdutor()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getNomeProdutor().equals(np2.getNomeProdutor()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
        return lista;
    }


    public  List retiraNomeEmpresaRepetido (List lista)  {
    NotaProdutor np1 = new NotaProdutor();
    NotaProdutor np2 = new NotaProdutor();
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getNomeEmpresa().equals(np2.getNomeEmpresa()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getNomeEmpresa().equals(np2.getNomeEmpresa()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
       return lista;
    }
    public  List retiraNumNotaRepetido (List lista)  {
    NotaProdutor np1 = new NotaProdutor();
    NotaProdutor np2 = new NotaProdutor();
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getNumNota().equals(np2.getNumNota()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getNumNota().equals(np2.getNumNota()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
       return lista;
    }
    public  List retiraAnoRepetido (List lista)  {
    NotaProdutor np1 = new NotaProdutor();
    NotaProdutor np2 = new NotaProdutor();
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getAno()==(np2.getAno()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getAno()==(np2.getAno()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
       return lista;
    }

    public  List retiraCPFRepetido (List lista)  {
    NotaProdutor np1 = new NotaProdutor();
    NotaProdutor np2 = new NotaProdutor();
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getCpf().equals(np2.getCpf()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getCpf().equals(np2.getCpf()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
       return lista;
    }

    public  List retiraIncraRepetido (List lista)  {
    NotaProdutor np1 = new NotaProdutor();
    NotaProdutor np2 = new NotaProdutor();
        if (lista.size()>1){
        for(int i = 1; i < lista.size(); i++) {
                np1 = (NotaProdutor) lista.get(i-1);
                np2 = (NotaProdutor) lista.get(i);
                if((i == (lista.size()-1))&&(np1.getIncra().equals(np2.getIncra()))){
                        lista.remove(i-1);
                }
                if((i != (lista.size()-1))&&(np1.getIncra().equals(np2.getIncra()))){
                        lista.remove(i-1);
                        i--;
                }
       }
       }
       return lista;
    }
    //Metodo para objetos do tipo Previsao
    public  List retiraDataRepetido (List lista)  {
    Previsao p1 = new Previsao();
    Previsao p2 = new Previsao();
        for(int i = 0; i < lista.size(); i++) {
            p1=(Previsao)lista.get(i);
            for(int k=1;k<lista.size();k++){

                p2 = (Previsao) lista.get(k);
                if(p1.getDataInicio().equals(p2.getDataInicio())){
                        lista.remove(k);
                }
            }
        }
       
       return lista;
    }

}


